﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using SIGEB.Prototipo.Control;

namespace SIGEB.Prototipo.Vista.moduloTipoDocumentos
{
    public partial class frm_Condiciones : frm_ModuloBase
    {
        #region CONSTRUCTORES

            public frm_Condiciones(controlPrincipal cp):base(cp)
            {
                InitializeComponent();
                asignarUI(this.Controls);
                inicializarComponentes();
            }

            public frm_Condiciones()
            {
                InitializeComponent();
                inicializarComponentes();
            }

        #endregion

        #region METODOS

            private void inicializarComponentes()
            {
                operadores = new ArrayList();
                inicializaTipoAtributos();
                iniciarOperadores();
                llenarDatosPrueba();
            }

            private void iniciarOperadores()
            {
                operadores = new ArrayList();
                operadores.Add("     =");
                operadores.Add("     >");
                operadores.Add("     <");
                operadores.Add("     =<");
                operadores.Add("     =>");
                operadores.Add("     !=");
                cbx_operadorFecha.DataSource = operadores;
                cbx_operadorNumero.DataSource = operadores;
            }

            private void llenarDatosPrueba()
            {
            }

            private void inicializaTipoAtributos()
            {
                tiposAtributos = new ArrayList();
                tiposAtributos.Add("FECHA");
                tiposAtributos.Add("NUMERO");
                tiposAtributos.Add("ALFANUMERICO");
                cmb_atributos.DataSource = tiposAtributos;
            }

        #endregion

        #region EVENTOS

            public override void actualizar(object referencia, bibliotecaObservador.EventoActualizacion e)
            {
                base.actualizar(referencia, e);
            }

            private void button1_Click(object sender, EventArgs e)
            {
                abrirVentanaCaracteres();
            }

            private void abrirVentanaCaracteres()
            {
                if (ventanaCaracteres == null)
                    ventanaCaracteres = new frm_caractEspeciales();
                ventanaCaracteres.Show();
            }

            private void cmb_atributos_SelectedIndexChanged(object sender, EventArgs e)
            {
                cambioTipoAtributo();
            }

            private void cambioTipoAtributo()
            {
                if (cmb_atributos.Text == "FECHA")
                {
                    gbx_condString.Visible = false;
                    gbx_fecha.Visible = true;
                    gbx_tipoNumero.Visible = false;
                }
                else if (cmb_atributos.Text == "NUMERO")
                {
                    gbx_condString.Visible = false;
                    gbx_fecha.Visible = false;
                    gbx_tipoNumero.Visible = true;
                }
                else if (cmb_atributos.Text == "ALFANUMERICO")
                {
                    gbx_condString.Visible = true;
                    gbx_fecha.Visible = false;
                    gbx_tipoNumero.Visible = false;
                }
            }

        #endregion

        #region ATRIBUTOS

            frm_caractEspeciales ventanaCaracteres;
            ArrayList tiposAtributos;
            ArrayList operadores;

        #endregion
    }
}
